<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit de suppression
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 5 || $GLOBALS['USER']['admin'])){
	
		// l'identifiant de la donnée à supprimer est indiqué par un entier
		if(isset($_GET['id']) && numericInt($_GET['id'])){

?>
<?php
//------------------------------------------------------------ Suppression des données

/********************************* Règles :

	- id doit désigner une seule action
	- L'action doit exister dans la BDD
	- L'action ne doit pas être liée à une autre entité

*****************************************/

      	$statut = array(); // indique le statut du traitement du formulaire (echec ou succes) - tableau contenant les messages à afficher
      	$erreur = false; // indique si une erreur a été rencontrée lors du traitement

      	//---------------------------------- Contrôle des données ----------------------------------
      		
      	$nb_actions = valueExists((int)$_GET['id'], "CODEACTION", "action", $connexion);
      	
      	if($nb_actions == 0){ // la commande n'existe pas
      		$statut[] = "La requête indiquée n'existe pas";
      		$erreur = true;
      	}else{
         // On compte le nombre de liens entre la commande et d'autres entités
      		$query_verif_action = "SELECT COUNT(*) ";
      		$query_verif_action .= "FROM action a ";
      		$query_verif_action .= "WHERE a.CODEACTION = ".$_GET['id']." ";
      		
      		$result_verif_action = mysql_query($query_verif_action, $connexion) or logError("VERIF ACTION-".$query_verif_action."-".mysql_error());
      		
      		if(mysql_num_rows($result_verif_action) == 1){ // on a réussi à récupérer les données de la commande à supprimer
      			
               $query_suppr_assoc_action_theme = "DELETE FROM action_a_pour_theme WHERE CODEACTION = ".$_GET['id']." ";
               $result_suppr_assoc_action_theme = mysql_query($query_suppr_assoc_action_theme, $connexion) or logError("SUPPR ASSOC ACTION THEME-".$query_suppr_assoc_action_theme."-".mysql_error());
      		 
               $query_suppr_assoc_action_public = "DELETE FROM touche_public WHERE CODEACTION = ".$_GET['id']." ";
               $result_suppr_assoc_action_public = mysql_query($query_suppr_assoc_action_public, $connexion) or logError("SUPPR ASSOC ACTION PUBLIC-".$query_suppr_assoc_action_public."-".mysql_error());
      		 
               $query_suppr_action = "DELETE FROM action WHERE CODEACTION = ".$_GET['id']." ";
               $result_suppr_action = mysql_query($query_suppr_action, $connexion) or logError("SUPPR ACTION-".$query_suppr_action."-".mysql_error());
      		 
               if($result_suppr_action === true){
         			$statut[] = "L'action a été supprimée - redirection dans 2 sec...";
         			logAction("ACTION (id: ".$_GET['id'].") SUPPRIMEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
         		}else{
         			$statut[] = "Erreur critique lors de la suppression de l'action";
         			$erreur = true;
         		}
            
      		}else{
      			$statut[] = "Une donnée n'a pas pu être vérifiée";
      			$erreur = true;
      		}
      		
      		mysql_free_result($result_verif_action);
         }
         
         //------------------------------------------------------------ Affichage du statut
	
      	if($erreur){
      		boutonRetour("index.php?p=gestion/action_gere"); // appel à la fonction boutonRetour() définie dans fonctions.php
      		afficherStatut($statut, 3); // appel à la fonction afficherStatut() définie dans fonctions.php
      	}else{
      		afficherStatut($statut, 1); // appel à la fonction afficherStatut() définie dans fonctions.php
      		redirection("gestion/action_gere", 2);
      	}

      }
   }